Python NotImplemented 常量
全部标签 如果您想将某个常量值与一个类相关联,这里有两种方法可以实现相同的目标:classFoo{public:staticconstsize_tLife=42;};classBar{public:enum{Life=42};};从客户的角度来看,它们在句法和语义上似乎是相同的:size_tfooLife=Foo::Life;size_tbarLife=Bar::Life;除了纯粹的风格问题之外,还有什么理由比另一种更受欢迎吗? 最佳答案 enumhack曾经是必要的,因为许多编译器不支持值的就地初始化。由于这不再是问题,请选择其他选项。现代
如果您想将某个常量值与一个类相关联,这里有两种方法可以实现相同的目标:classFoo{public:staticconstsize_tLife=42;};classBar{public:enum{Life=42};};从客户的角度来看,它们在句法和语义上似乎是相同的:size_tfooLife=Foo::Life;size_tbarLife=Bar::Life;除了纯粹的风格问题之外,还有什么理由比另一种更受欢迎吗? 最佳答案 enumhack曾经是必要的,因为许多编译器不支持值的就地初始化。由于这不再是问题,请选择其他选项。现代
我知道答案是99.99%否,但我认为值得一试,你永远不会知道。voidSomeFunction(inta){//Heresomeprocessinghappensona,forexample:a*=50;a%=10;if(example())a=0;//FromthispointonIwanttomake"a"const;Idon'twanttoallow//anycodepastthiscommenttomodifyitinanyway.}我可以用constintb=a;做一些类似的事情,但实际上并不相同,而且会造成很多困惑。仅C++0x的解决方案是可以接受的。编辑:另一个不那么抽象
我知道答案是99.99%否,但我认为值得一试,你永远不会知道。voidSomeFunction(inta){//Heresomeprocessinghappensona,forexample:a*=50;a%=10;if(example())a=0;//FromthispointonIwanttomake"a"const;Idon'twanttoallow//anycodepastthiscommenttomodifyitinanyway.}我可以用constintb=a;做一些类似的事情,但实际上并不相同,而且会造成很多困惑。仅C++0x的解决方案是可以接受的。编辑:另一个不那么抽象
我可以将extern和const混合为externconst吗?如果是,const限定符是否只在它声明的范围内强加它的统治,还是应该完全匹配它声明的翻译单元的声明?IE。我可以声明说externconstinti;即使实际i不是const,反之亦然? 最佳答案 是的,您可以一起使用它们。是的,它应该与实际声明它的翻译单元中的声明完全匹配。当然,除非你参与了UnderhandedCProgrammingContest。:-)通常的模式是:file.h:externconstinta_global_var;file.c:#include
我可以将extern和const混合为externconst吗?如果是,const限定符是否只在它声明的范围内强加它的统治,还是应该完全匹配它声明的翻译单元的声明?IE。我可以声明说externconstinti;即使实际i不是const,反之亦然? 最佳答案 是的,您可以一起使用它们。是的,它应该与实际声明它的翻译单元中的声明完全匹配。当然,除非你参与了UnderhandedCProgrammingContest。:-)通常的模式是:file.h:externconstinta_global_var;file.c:#include
我正在处理的程序有许多适用于所有类的常量。我想制作一个头文件“Constants.h”,并且能够声明所有相关的常量。然后在我的其他类中,我可以只包含#include"Constants.h。我使用#ifndef...#define...语法让它正常工作。但是,我更喜欢使用constint...形式的常量。我不太确定怎么做。 最佳答案 您可以简单地在头文件中定义一系列constints://Constants.h#if!defined(MYLIB_CONSTANTS_H)#defineMYLIB_CONSTANTS_H1constin
我正在处理的程序有许多适用于所有类的常量。我想制作一个头文件“Constants.h”,并且能够声明所有相关的常量。然后在我的其他类中,我可以只包含#include"Constants.h。我使用#ifndef...#define...语法让它正常工作。但是,我更喜欢使用constint...形式的常量。我不太确定怎么做。 最佳答案 您可以简单地在头文件中定义一系列constints://Constants.h#if!defined(MYLIB_CONSTANTS_H)#defineMYLIB_CONSTANTS_H1constin
为什么常量引用的行为方式与常量指针不同,以便我可以实际更改它们指向的对象?它们真的看起来像是另一个简单的变量声明。为什么我会使用它们?这是我运行的一个简短示例,它编译并运行没有错误:intmain(){inti=0;inty=1;int&consticr=i;icr=y;//Canchangetheobjectitispointingtosoit'snotlikeaconstpointer...icr=99;//Canassignanothervaluebutthevalueisnotassignedtoy...intx=9;icr=x;cout 最佳答案
为什么常量引用的行为方式与常量指针不同,以便我可以实际更改它们指向的对象?它们真的看起来像是另一个简单的变量声明。为什么我会使用它们?这是我运行的一个简短示例,它编译并运行没有错误:intmain(){inti=0;inty=1;int&consticr=i;icr=y;//Canchangetheobjectitispointingtosoit'snotlikeaconstpointer...icr=99;//Canassignanothervaluebutthevalueisnotassignedtoy...intx=9;icr=x;cout 最佳答案